# Author:jo-jo
# datetime:20211021

# 本周知识点
# 1. 字典的初始 （{key:value}）
# 1. [字典的文档]
# 2. 字典的重要属性：
## 1. 结构：key:value（键值对）
## 2. 字典是无序的，我们通过键(key)去查找值(value)，就好像list用索引(index)查找值(value)一样，只不过字典的“索引”被定义了名字
## 3. 字典对key的定义有一定的要求：key是由"不可变"的数据结构才可以定义，list是不能作为key来定义的。
# 4. 字典的key是唯一的，字典的值value也可以不唯一。（list的值是唯一的么？）
# 3. 字典的创建

#
rs = [
    ["jo-jo", 19, "IT",10000 ],
    ["zyl", 32, "IT", 30000]

]
# 试对比：
users_dict = {
    "jo-jo": [19, "IT", 10000],
    "zyl": [32, "IT", 30000]
}


# 2. 字典的创建(常见的三种创建方式)
info = {key1:value1 , key2:value2 , ...}直接按照字典格式创建

info_02 = dict(key1=value1 , key2=value2 , ... ) 使用dict()进行字典创建

# 3. 运用字典增加的方式新建字典:
info_03 = {} info_03[key1] = value1 ,info_03[key2] = value2

info = {
    "stu10001":"jo-jo",
    "stu10002":"zyl",
    "stu10003":"tzy",
}
print(info)
print(type(info))

info_02 = dict(
    stu10001="jo-jo",
    stu10002="zyl",
    stu10003="tzy",
)
print(info_02)
print(type(info_02))

info_03 = {} # 新建空字典
info_03["stu10001"] = "jo-jo"
info_03["stu10002"] = "zyl"
info_03["stu10003"] = "tzy"
print(info_03)
print(type(info_03))

# 字典的增、删、改、查

# 1. 字典的增加(和字典的第三种创建方式一致)：
# info_03["stu10004"] = "zhichao"

# 2. 字典的查询
# info_03[key_name]
# 注意： 正确的查询方式，应该先查询key是否存在字典当中，如下：
# 1. key_name in info_03  ## 查看是否存在,如果存在，返回结果为 True ，不存在为 False
# 2. info_03[key_name]
# 3. 字典的修改

# 1. 查询key是否存在
# 2. 修改key的值
# 例如： 修改info_03中stu10003的值为Alex, if "stu10003" in info_03 : info_03 ["stu10003"] = "Alex"

# 4. 字典的删除
# 1.pop(key)
# 2.popitem()

# 正确的查询字典方式
print("stu10003" in info_03)
if "stu10006" in info_03:
    print(info_03["stu10006"])
else:
    print("查询的key不存在")

# 修改: 也要先查询key
if "stu10003" in info_03:
    info_03 ["stu10003"] = "Alex"
print(info_03)

# 字典的删除
info_03.pop("stu10003")
print(info_03)

# 字典的删除 popitem()
info_03.popitem()
print(info_03)

help(info_03)